<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'DejaVu Sans'; font-size:11pt; font-weight:400; font-style:normal;">
<html>
<header class="entry-header"><h1>Файлы. Работа с файлами.</h1></header><div id="ytb" style="padding-left:3%"><div id="yandex_rtb_R-A-139987-4"><yatag class="q398cc43f k39d92d8d" id="q398cc43f" lang="ru"><yatag class="p6c0eb6f1 m39e5d83c u2d7e984d w211fdb59 h191a5682"><yatag class="ve5b506cd i482e5942"><yatag class="vd7857ad3"><table class="x81f2a2af p28eeca14 a92f38f9e"><tbody><tr class="je442d6fb tb78b4da k519db3ee"><td class="g73b7fb7 m42ecc76 te4c348c2 k3e8c32b2"><yatag data-id="15336642557635089" class="qb85aa20 t99730038 l764cd6fd u1dc12e2 l5c009abe y9ca54437"><yatag class="v80fb866c"><a target="_blank" class="bc39cf8c" href="https://an.yandex.ru/count/H6dLc4GBq3m50Eu1CRPOQri00000EAQB4K02I09Wl0Xe173Sh8Nb3801Z-3_tApTsjHWY06ca16G0QAeZxkBfhuse06kdjg1BQW1mBRVk2gu0PhfgDOOm042s076qQmJu06Gfk0Fw07I0VW1mAJUlW680WIW0lwq0ha2sqMW0B-w9KZ00gQG4V02wuIp_mRu0eA0W820m6g00uRx_B44Y0F_hehD3h031BW4_m7e1Fud-0I3cH281OEP4905rD4Ie0NqxGIe1OMF1B05XOy4k0N3tWJ01TJH4iW5mzu4q0Mi-W7W1Jdm1G6O1e3GhFCEe0Rag06e1kIe0RW61ia6kYWns4vVzG3H1eRhaXQRYGOPsGO0001GAW000907Dga7Lo5msaTc8p-m1u20a3p01-x8WhSAq0SGu0U62e081j08cegGYS2GW0BW2B-Q0O0A0PWAikemmGe00000003mFzWA0k0AW8bw-0h0_1M82mYg2n0neY3vLo400CMBOBhoSWK0m0k0emN82u3Kam7P2rSXSDf7PYC_w0k3cH3m2mg83C2athu1w0m6c0ssvbpo3G3w3G223W293W0000000F0_a0x0X3sO3hhHnC7jwTTwe0x0X3sm3W6X3m0000000F0_g0_Nmh3fsiZPaJy0?stat-id=4&amp;test-tag=468394369351681&amp;format-type=0&amp;banner-test-tags=eyIxNTMzNjY0MjU1NzYzNTA4OSI6IjQ2ODM5MTk1MzQ2NTM0NCJ9&amp;" style="background-image: url(&quot;avatars.mds.yandex.net//get-yabs_performance/1505868/2a00000164f7e7cd518c333af9c3a0bd5ef0/huge&quot;) !important; max-width: 338px !important;"></a><yatag class="u5825783c" style="font-size: 16.0592px !important;"><yatag class="g74844b62" style="height: 126px !important;"><yatag class="g70d3e44b"><a target="_blank" class="r12a5a1c6" href="https://an.yandex.ru/count/H6dLc4GBq3m50Eu1CRPOQri00000EAQB4K02I09Wl0Xe173Sh8Nb3801Z-3_tApTsjHWY06ca16G0QAeZxkBfhuse06kdjg1BQW1mBRVk2gu0PhfgDOOm042s076qQmJu06Gfk0Fw07I0VW1mAJUlW680WIW0lwq0ha2sqMW0B-w9KZ00gQG4V02wuIp_mRu0eA0W820m6g00uRx_B44Y0F_hehD3h031BW4_m7e1Fud-0I3cH281OEP4905rD4Ie0NqxGIe1OMF1B05XOy4k0N3tWJ01TJH4iW5mzu4q0Mi-W7W1Jdm1G6O1e3GhFCEe0Rag06e1kIe0RW61ia6kYWns4vVzG3H1eRhaXQRYGOPsGO0001GAW000907Dga7Lo5msaTc8p-m1u20a3p01-x8WhSAq0SGu0U62e081j08cegGYS2GW0BW2B-Q0O0A0PWAikemmGe00000003mFzWA0k0AW8bw-0h0_1M82mYg2n0neY3vLo400CMBOBhoSWK0m0k0emN82u3Kam7P2rSXSDf7PYC_w0k3cH3m2mg83C2athu1w0m6c0ssvbpo3G3w3G223W293W0000000F0_a0x0X3sO3hhHnC7jwTTwe0x0X3sm3W6X3m0000000F0_g0_Nmh3fsiZPaJy0?stat-id=4&amp;test-tag=468394369351681&amp;format-type=0&amp;banner-test-tags=eyIxNTMzNjY0MjU1NzYzNTA4OSI6IjQ2ODM5MTk1MzQ2NTM0NCJ9&amp;"><yatag class="ge9745d90 ba42669fe">Фильтр Аквафор Трио Норма...</yatag></a></yatag><yatag class="r2fb9bf6d"><yatag class="aeb174a76"><a target="_blank" class="a5752f05b" href="https://an.yandex.ru/count/H6dLc4GBq3m50Eu1CRPOQri00000EAQB4K02I09Wl0Xe173Sh8Nb3801Z-3_tApTsjHWY06ca16G0QAeZxkBfhuse06kdjg1BQW1mBRVk2gu0PhfgDOOm042s076qQmJu06Gfk0Fw07I0VW1mAJUlW680WIW0lwq0ha2sqMW0B-w9KZ00gQG4V02wuIp_mRu0eA0W820m6g00uRx_B44Y0F_hehD3h031BW4_m7e1Fud-0I3cH281OEP4905rD4Ie0NqxGIe1OMF1B05XOy4k0N3tWJ01TJH4iW5mzu4q0Mi-W7W1Jdm1G6O1e3GhFCEe0Rag06e1kIe0RW61ia6kYWns4vVzG3H1eRhaXQRYGOPsGO0001GAW000907Dga7Lo5msaTc8p-m1u20a3p01-x8WhSAq0SGu0U62e081j08cegGYS2GW0BW2B-Q0O0A0PWAikemmGe00000003mFzWA0k0AW8bw-0h0_1M82mYg2n0neY3vLo400CMBOBhoSWK0m0k0emN82u3Kam7P2rSXSDf7PYC_w0k3cH3m2mg83C2athu1w0m6c0ssvbpo3G3w3G223W293W0000000F0_a0x0X3sO3hhHnC7jwTTwe0x0X3sm3W6X3m0000000F0_g0_Nmh3fsiZPaJy0?stat-id=4&amp;test-tag=468394369351681&amp;format-type=0&amp;banner-test-tags=eyIxNTMzNjY0MjU1NzYzNTA4OSI6IjQ2ODM5MTk1MzQ2NTM0NCJ9&amp;"><yatag class="ge9745d90 ba42669fe">Выбирайте от 1 990 <span class="iaf6d6774">руб</span>. Экономия до 46%!</yatag></a></yatag></yatag></yatag><yatag class="t7ca33883"><yatag class="hcb776ed7"><a target="_blank" class="u1398411d g63a8eb0e" href="https://an.yandex.ru/count/H6dLc4GBq3m50Eu1CRPOQri00000EAQB4K02I09Wl0Xe173Sh8Nb3801Z-3_tApTsjHWY06ca16G0QAeZxkBfhuse06kdjg1BQW1mBRVk2gu0PhfgDOOm042s076qQmJu06Gfk0Fw07I0VW1mAJUlW680WIW0lwq0ha2sqMW0B-w9KZ00gQG4V02wuIp_mRu0eA0W820m6g00uRx_B44Y0F_hehD3h031BW4_m7e1Fud-0I3cH281OEP4905rD4Ie0NqxGIe1OMF1B05XOy4k0N3tWJ01TJH4iW5mzu4q0Mi-W7W1Jdm1G6O1e3GhFCEe0Rag06e1kIe0RW61ia6kYWns4vVzG3H1eRhaXQRYGOPsGO0001GAW000907Dga7Lo5msaTc8p-m1u20a3p01-x8WhSAq0SGu0U62e081j08cegGYS2GW0BW2B-Q0O0A0PWAikemmGe00000003mFzWA0k0AW8bw-0h0_1M82mYg2n0neY3vLo400CMBOBhoSWK0m0k0emN82u3Kam7P2rSXSDf7PYC_w0k3cH3m2mg83C2athu1w0m6c0ssvbpo3G3w3G223W293W0000000F0_a0x0X3sO3hhHnC7jwTTwe0x0X3sm3W6X3m0000000F0_g0_Nmh3fsiZPaJy0?stat-id=4&amp;test-tag=468394369351681&amp;format-type=0&amp;banner-test-tags=eyIxNTMzNjY0MjU1NzYzNTA4OSI6IjQ2ODM5MTk1MzQ2NTM0NCJ9&amp;"><yatag class="fc4a8f30d">market.yandex.ru</yatag><yatag class="x1637e89"><svg width="6" height="9"><path d="M1 1l3.65 3.65-3.547 3.547"></path></svg></yatag></a></yatag></yatag></yatag></yatag><yatag class="p356a4444 k2e97d717 qc5335706 h10792e45 q8d85868f"><yatag class="qf557301"><yatag class="b8262e991 e521709a0 p3a5ad383 p35595409 w9beccb99"><yatag class="sa7caaa36"><yatag class="w5f20b5d6" style="width: 8px !important; height: 8px !important;"><svg width="8px" height="8px" viewBox="0 0 14 14"><polygon points="14,0.7 13.3,0 7,6.299 0.7,0 0,0.7 6.3,7 0,13.299 0.7,14 7,7.7 13.3,14 14,13.299 7.7,7"></polygon></svg></yatag><yatag class="gf8afc984"><yatag class="oe841e490"></yatag><yatag class="u7a60a994"></yatag></yatag></yatag></yatag></yatag></yatag><yatag class="ld63d790f c473a75e2"><yatag class="d7123d458"><yatag class="rafc447b9"><yatag></yatag></yatag></yatag></yatag></yatag></td></tr></tbody></table></yatag></yatag><yatag class="ud667adfa k92ce93c9 f1e024653"><a target="_blank" class="c10b4f84e" href="https://direct.yandex.ru/?partner">Яндекс.Директ</a></yatag><yatag class="c620157b0"></yatag></yatag></yatag></div></div><div class="entry-content"><p>В данной статье мы рассмотрим встроенные средства python для работы с файлами: открытие / закрытие, чтение и запись.</p><p>Итак, начнем. Прежде, чем работать с файлом, его надо открыть. С этим замечательно справится встроенная функция open:</p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'text.txt'</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; font-size:10px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p><p>У функции open много параметров, они указаны в статье "<a href="https://pythonworld.ru/osnovy/vstroennye-funkcii.html" target="_blank">Встроенные функции</a>",
 нам пока важны 3 аргумента: первый, это имя файла. Путь к файлу может 
быть относительным или абсолютным. Второй аргумент, это режим, в котором
 мы будем открывать файл.</p><div class="table-wrapper"><table class="docutils" border="1"><tbody valign="top"><tr><td>Режим</td><td>Обозначение</td></tr><tr><td>'r'</td><td>открытие на чтение (является значением по умолчанию).</td></tr><tr><td>'w'</td><td>открытие на запись, содержимое файла удаляется, если файла не существует, создается новый.</td></tr><tr><td>'x'</td><td>открытие на запись, если файла не существует, иначе исключение.</td></tr><tr><td>'a'</td><td>открытие на дозапись, информация добавляется в конец файла.</td></tr><tr><td>'b'</td><td>открытие в двоичном режиме.</td></tr><tr><td>'t'</td><td>открытие в текстовом режиме (является значением по умолчанию).</td></tr><tr><td>'+'</td><td>открытие на чтение и запись</td></tr></tbody></table></div><p>Режимы могут быть объединены, то есть, к примеру, 'rb' - чтение в двоичном режиме. По умолчанию режим равен 'rt'.</p><p>И последний аргумент, encoding, нужен только в текстовом режиме чтения файла. Этот аргумент задает кодировку.</p><div class="section" id="id2"><h2>Чтение из файла</h2><p>Открыли
 мы файл, а теперь мы хотим прочитать из него информацию. Для этого есть
 несколько способов, но большого интереса заслуживают лишь два из них.</p><p>Первый
 - метод read, читающий весь файл целиком, если был вызван без 
аргументов, и n символов, если был вызван с аргументом (целым числом n).</p><div class="highlight-python3" style="position: relative;"><div class="highlight"><span class="copybutton" title="Убрать приглашения и вывод программы">&gt;&gt;&gt;</span><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="n"></span><span class="gp">&gt;&gt;&gt; </span><span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'text.txt'</span><span class="p">)</span></p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="gp">&gt;&gt;&gt; </span><span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span></p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="go">'H'</p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></span><span class="n"></span><span class="gp">&gt;&gt;&gt; </span><span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">()</span></p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="go">'ello world!\nThe end.\n\n'</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; font-size:10px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></div></div><p>Ещё один способ сделать это - прочитать файл построчно, воспользовавшись <a href="https://pythonworld.ru/osnovy/cikly-for-i-while-operatory-break-i-continue-volshebnoe-slovo-else.html" target="_blank">циклом for</a>:</p><div class="highlight-python3" style="position: relative;"><div class="highlight"><span class="copybutton" title="Убрать приглашения и вывод программы">&gt;&gt;&gt;</span><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="n"></span><span class="gp">&gt;&gt;&gt; </span><span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'text.txt'</span><span class="p">)</span></p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">f</span><span class="p">:</span></p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="gp">... </span>    <span class="n">line</span></p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="gp">...</span></p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="go">'Hello world!\n'</p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">'\n'</p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">'The end.\n'</p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">'\n'</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; font-size:10px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></div></div></div><div class="section" id="id3"><h2>Запись в файл</h2><p>Теперь рассмотрим запись в файл. Попробуем записать в файл вот такой вот список:</p><div class="highlight-python3" style="position: relative;"><div class="highlight"><span class="copybutton" title="Убрать приглашения и вывод программы">&gt;&gt;&gt;</span><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="n"></span><span class="gp">&gt;&gt;&gt; </span><span class="n">l</span> <span class="o">=</span> <span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">20</span><span class="p">)]</span></p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="gp">&gt;&gt;&gt; </span><span class="n">l</span></p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="go">['0-1', '10', '21', '32', '43', '54', '65', '76', '87', '98', '109', '1110', '1211', '1312', '1413', '1514', '1615', '1716', '1817', '1918']</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; font-size:10px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></div></div><p>Откроем файл на запись:</p><div class="highlight-python3" style="position: relative;"><div class="highlight"><span class="copybutton" title="Убрать приглашения и вывод программы">&gt;&gt;&gt;</span><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="n"></span><span class="gp">&gt;&gt;&gt; </span><span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'text.txt'</span><span class="p">,</span> <span class="s1">'w'</span><span class="p">)</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; font-size:10px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></div></div><p>Запись в файл осуществляется с помощью метода write:</p><div class="highlight-python3" style="position: relative;"><div class="highlight"><span class="copybutton" title="Убрать приглашения и вывод программы">&gt;&gt;&gt;</span><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="k"></span><span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="n">l</span><span class="p">:</span></p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="gp">... </span>    <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">index</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span></p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="gp">...</span></p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="go">4</p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">3</p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">3</p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">3</p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">3</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; font-size:10px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></div></div><p>Для тех, кто не понял, что это за цифры, поясню: метод write возвращает число записанных символов.</p><p>После окончания работы с файлом его <b>обязательно нужно закрыть</b> с помощью метода close:</p><div class="highlight-python3" style="position: relative;"><div class="highlight"><span class="copybutton" title="Убрать приглашения и вывод программы">&gt;&gt;&gt;</span><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="n"></span><span class="gp">&gt;&gt;&gt; </span><span class="n">f</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; font-size:10px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></div></div><p>Теперь
 попробуем воссоздать этот список из получившегося файла. Откроем файл 
на чтение (надеюсь, вы поняли, как это сделать?), и прочитаем строки.</p><div class="highlight-python3" style="position: relative;"><div class="highlight"><span class="copybutton" title="Убрать приглашения и вывод программы">&gt;&gt;&gt;</span><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="n"></span><span class="gp">&gt;&gt;&gt; </span><span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'text.txt'</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span></p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="gp">&gt;&gt;&gt; </span><span class="n">l</span> <span class="o">=</span> <span class="p">[</span><span class="n">line</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">f</span><span class="p">]</span></p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="gp">&gt;&gt;&gt; </span><span class="n">l</span></p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span class="go">['0-1', '10', '21', '32', '43', '54', '65', '76', '87', '98', '109', '1110', '1211', '1312', '1413', '1514', '1615', '1716', '1817', '1918']</p><p style=" font-family:'Courier New,Courier,sans-serif'; background-color:#eff0f1; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></span><span class="n"></span><span class="gp">&gt;&gt;&gt; </span><span class="n">f</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; font-size:10px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></div></div><p>Мы
 получили тот же список, что и был. В более сложных случаях (словарях, 
вложенных кортежей и т. д.) алгоритм записи придумать сложнее. Но это и 
не нужно. В python уже давно придумали средства, такие как <a href="https://pythonworld.ru/moduli/modul-pickle.html" target="_blank">pickle</a> или <a href="https://pythonworld.ru/moduli/modul-json.html" target="_blank">json</a>, позволяющие сохранять в файле сложные структуры.</p></div></div>
</body>
</html></p></body></html>